package com.ufgov.agcfs.taskPreset.service;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ufgov.agcfs.taskPreset.dao.AccBookDao;
import com.ufgov.agcfs.taskPreset.dao.AssetCardDao;
import com.ufgov.agcfs.taskPreset.dao.GlDefDao;
import com.ufgov.agcfs.taskPreset.dao.IpCompanyDao;

@Service
public class AllQueryService {
	@Autowired
	private AccBookDao accBookDao;
	@Autowired
	private AssetCardDao assetCardDao;
	@Autowired
	private GlDefDao glDefDao;
	@Autowired
	private IpCompanyDao ipCompanyDao;
	//保存单位代码、单位名称、上级单位代码
	private List<?> dwList;
	//通过上级单位代码=上级单位代码或者上级单位代码=单位代码 为查询条件，查询上级单位树底层的单位代码，单位名称，和上级单位代码
	public List<?> queryInfoByPId(Map<?,?> param){
		return ipCompanyDao.selectInfoByPCoId(param);
	}
	//通过dwList查询其他表信息，并保存为新的List
	@SuppressWarnings("unchecked")
	public List<String> queryInfoByDwList(String nd,String co_code,String parent_co_id){
		//保存不同表中查询的数据
		List<String> data=new ArrayList<String>();
		//map集合参数
		Map<String, Object> param=new HashMap<String, Object>();
		param.put("co_code", co_code);
		param.put("parent_co_id", parent_co_id);
		dwList=queryInfoByPId(param);
		for(int i=0;i<dwList.size();i++){
			data.add((((Map<String,Object>) dwList.get(i)).get("CO_CODE")).toString());
			data.add((((Map<String,Object>) dwList.get(i)).get("CO_NAME")).toString());
			data.add((((Map<String,Object>) dwList.get(i)).get("PARENT_CO_ID")).toString());
			//参数定义
			Map<String, Object> param2=new HashMap<String, Object>();
			param2.put("nd", nd);
			param2.put("dw_code",(((Map<String,Object>) dwList.get(i)).get("CO_CODE")).toString());
			if(accBookDao.selectAccBookNo(param2).equals("")){
				data.add("无");
			}else{
				data.add("已导入");
			}
			if(glDefDao.selectAccBookNo(param2).equals("")){
				data.add("无");
			}else{
				data.add("已导入");
			}
			if(assetCardDao.selectAssetNo(param2).equals("")){
				data.add("无");
			}else{
				data.add("已导入");
			}
		}
		return data;
	}
}